Scanner 클래스
✒️ 2025-05-15 11:47 내용 수정
입력을 받는 기본 클래스
- java.util.Scanner로 import 가능하다.
Scanner Scan = new Scanner(System.in);
- Stream의 BufferedReader보다 처리하는 속도가 느리다.
- 보조 스트림 참고.
- 버퍼가 1024로 한정되어 있기 때문에 한 번에 많은 입력값을 저장하는데 많은 시간이 필요하다.
- 하지만 BufferedReader의 버퍼 길이는 8192이므로 많은 데이터를 가져오는데 더 효율적이고 빠르다.
- 항상 사용 후에는
close()메서드를 호출해서 리소스를 해제해줘야 한다. IOException이 발생할 수 있으므로 예외 처리를 고려해야 한다.- 만약 flush 목적으로
scan.next();를 사용하는 경우 정석적인 방법보단 버그형 방식일 수 있기에 새로 Scanner 객체를 만드는 것이 안전할 수 있다.
| 메서드 | 설명 |
|---|---|
nextInt() |
int 값으로 반환 |
nextLong() |
long 값으로 반환 |
nextDouble() |
double 값으로 반환 |
next() |
스페이스 전까지 입력 받은 문자열을 반환 |
nextLine() |
엔터를 치기 전까지의 문장을 반환 |
close() |
스캐너 종료(메모리 관리) |
useDelimiter(String pattern) |
전달 받은 정규 표현식이나 문자열 패턴으로 String을 분리 |